The present invention relates to optical drives, and more particularly to servo control in optical drives.
The use of control systems in optical drive controllers for servo control, such as for Compact Disc (CD) and Digital Video Disc (DVD) drives, is well known in the art. FIG. 1 illustrates the general concept of a control system. The control system 100 includes a system 102 which has a particular input. The system""s output is read, and a transfer function is computed. The transfer function indicates the amount of error in the system 102. Based upon the transfer function, a force is added to the input to modify the system""s behavior. The output is read again. This process repeats until the transfer function indicates zero error in the system 102. One skill in the art understands that the transfer function for the control system 100 is a xe2x80x9cmultiply and accumulatexe2x80x9d function. A general format of the transfer function is as follows:
H=xcexa3(a1b1)+xcexa3(a2b2),
Where b1 is the input, b2 is the accumulated output, and a1 and a2 are coefficients.
FIG. 2 illustrates a conventional servo control system in an optical drive controller. A digital servo control 202 typically controls the operation of the servo, via servo control processors 216, in reading and writing data from and to an optical disc (not shown). To monitor the servo, an analog sample servo data is periodically obtained and converted to a digital format by an Analog-to-Digital Converter 204 (ADC). Conventionally, the result is a 10-bit value for any channel that the ADC 204 samples and converts. Each result of the channels are then placed into one of eight registers 206. The processor 208 executes software instructions which reads the current contents of the registers 206; obtains the accumulated sample data from the memory 210, which were computed based upon past contents of the registers 206; and computes the transfer function. The resulting accumulated sample data is then stored back in the memory 210. Based upon the computed transfer function, a new force is applied to the servo via the servo control processors 216. This continues until the error in the servo system equals zero. However, the execution of the software instructions require significant processor resources and time.
Some conventional methods decrease the requirements on the processor 208 by utilizing a dedicated Multiplier and Accumulator Controller (MAC) 214 for the computation of the transfer function. However, the processor 208 still must execute software instructions for reading the contents of the registers 206; obtain the accumulated sample data from the memory 210; write the accumulated sample data into the MAC 214; instruct the MAC 214 to compute the transfer function; and store the results from the MAC 214 into the memory 210. Thus, significant processor resources and time is still required.
Accordingly, there exists a need for an improved servo control system for an optical drive controller. The improved system should decrease the required processor resources and time. The present invention addresses such a need.
The present invention provides a method and system for servo control in an optical drive. The method includes initiating an execution of a Multiplier and Accumulator Controller (MAC) by a processor; and automatically calculating a transfer function by the MAC based upon a sample servo data. The present invention provides a servo control system which utilizes a MAC which is directly linked to the sample servo data. When a processor commands the MAC to execute, the MAC receives the sample servo directly from an Analog-to-Digital Converter (ADC); retrieves the corresponding accumulated sample servo data from a memory; calculates the transfer function; and stores the results back into the memory. The processor then accesses the memory to retrieve the result. Because the MAC is able to calculate the transfer function with minimal intervention from the processor, significant processing resources and time are saved.